Modern computer systems often use databases to organize collections of data. The databases are typically managed by a database management system (DBMS) that interacts with client devices to enable the client devices to access and alter data within the databases. Database management systems are often designed to be fault tolerant and to log modifications to the data before, during, and after the modification is applied to a database. This enables the database management system to redo or undo a change if it is interrupted prior to the modification being completed. For example, if a transaction requires multiple operations and there is a power outage after completing a first operation but before applying the remaining operations the log may be used to undo the first operation or subsequently apply the remaining operations so that the data is in a consistent state.